SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE PROCEDURE dbo.sp_Audit_Tabla 
@tabla as varchar(128)
as
--ESTE PROCESO ME GENERA TRES DESENCADENADORES
--FOR UPDATE (U), FOR INSERT (I), FOR DELETE (D)
--VOY A UTILIZAR DOS SP: 
--****** 1=>> SP_AUDIT_DELTRIGGER: es el que me debe eliminar 
--								   (si existen) los triggers de auditoria
--									antes de crearlos
--****** 2=>> SP_AUDIT_INSTRIGGER: me genera por cada evento un trigger
declare @delete_eval bit --NOS SIRVE PARA SABER SI LOS TRIGGERS SE 
						 --ELIMINARON CORRECTAMENTE
exec sp_audit_deltrigger @tabla, @delete_eval OUT
--GENERO UN TRIGGER POR CADA EVENTO
IF @DELETE_EVAL=0
	BEGIN
	exec sp_audit_instrigger @tabla, 'I'
	exec sp_audit_instrigger @tabla, 'D'
	exec sp_audit_instrigger @tabla, 'U'
	END
ELSE
	BEGIN
	PRINT 'Hubo un error en sp_audit_deltrigger'
	PRINT 'No se pudo ejecutar la creación de los triggers'
	END

GO
